#include <stdint.h>

#pragma pack(push)
#pragma pack(1)
struct S3 {
  unsigned f0 : 26;
  uint16_t f1;
  unsigned f2 : 16;
  signed f3 : 14;
} __attribute__((aligned(64)));
#pragma pack(pop)

uint8_t g_273 = 0xD4L;
uint8_t g_307 = 0;

static uint16_t(safe_lshift_func_uint16_t_u_s)(uint16_t left, int right) {
  return ((((int)right) < 0) || (((int)right) >= 32) || (left > ((65535) >> ((int)right)))) ? ((left))
                                                                                            : (left << ((int)right));
}

void func_10(struct S3 p_14) {
  struct S3 l = {5285, 0x094EL, 78, 87};
  for (g_273 = 0; (g_273 <= 2); g_273 += 1) {
    if ((safe_lshift_func_uint16_t_u_s(1UL, p_14.f2))) {
      uint32_t dd = p_14.f1 || (g_307 ^= p_14.f0);
      p_14 = l;
    }
  }
}

int main(int argc, char *argv[]) {
  struct S3 l = {5285, 0x094EL, 78, 87};
  func_10(l);

  return 0;
}
